////////////////////////////////////////////////////////////////////////////////
// Filename: testgame.hpp
////////////////////////////////////////////////////////////////////////////////
#ifndef TESTGAME_HPP_
#define TESTGAME_HPP_

//////////////
// INCLUDES //
//////////////
#include "../src/core/system/basicgame.hpp"
#include "../src/core/graphics/shaders/positioncolorshader.hpp"
#include "../src/core/graphics/polygon.hpp"
#include "../src/core/graphics/rectangle.hpp"
#include "../src/core/graphics/circle.hpp"
#include "../src/util/math/vector2d.hpp"
#include "../src/core/graphics/sprite.hpp"

////////////////////////////////////////////////////////////////////////////////
// Class name: TestGame
////////////////////////////////////////////////////////////////////////////////
class TestGame : public BasicGame {
public:
	TestGame(LPCSTR = "Mark IV Engine");
	~TestGame();

private:
	void Initialize(GameObject*, Graphics*);
	void Shutdown(GameObject*, Graphics*);
	void Update(GameObject*, Graphics*);
	void Render(GameObject*, Graphics*);

private:
	miv::Polygon* poly;
	miv::Rectangle* rect;
	miv::Rectangle* rect2;
	miv::Circle* circle;
	miv::Circle* circle2;
	Sprite* sprite;
	Sprite* sprite2;
	Vector2D** m_vertices;

};


#endif
